package java_learn.java_jinjie.FunctionalInterface.Predicate;

import java.util.function.Predicate;

/**
 * 需求:判断一个字符串长度是否大于5
 * 如果字符串的长度大于5,那返回false
 * 如果字符串的长度不大于5,那么返回true
 * 所以我们可以使用取反符号!对判断的结果进行取反
 * <p>
 * Predicate接口中有一个方法negate,也表示取反的意思
 * default Predicate<T> negate() {
 * return (t) -> !test(t);
 *
 * @Author: 李浩然
 * @Date: 2021/5/11 9:04 下午
 */
public class Predicate_nigate {
    public static boolean checkString(String s, Predicate<String> pre1) {
//        return pre1.test(s)||pre2.test(s);
        return pre1.negate().test(s);
    }

    public static void main(String[] args) {
        boolean res = checkString("abcdef", (s) -> {
            return s.length() > 5;
        });

        System.out.println(res);
    }
}
